/*
 * CruceInformacionHelper.java
 *
 * Created on 27 de diciembre de 2006, 04:05 PM
 *
 * To change this template, choose Tools | Options and locate the template under
 * the Source Creation and Management node. Right-click the template and choose
 * Open. You can then make changes to the template in the Source Editor.
 */

package com.src.computec.radar.consultas.cruceinformacion.helper;

import com.src.computec.radar.base.dao.exception.DAOException;
import com.src.computec.radar.consultas.base.constantes.ConstantesGenerales;
import com.src.computec.radar.consultas.base.helper.BaseHelper;
import com.src.computec.radar.consultas.cruceinformacion.dao.BaseCruceInformacionDAO;
import com.src.computec.radar.consultas.cruceinformacion.exception.CruceInformacionException;
import com.src.computec.radar.consultas.thread.FileThread;
import com.src.computec.radar.services.utilities.dto.ParametroBusquedaDto;
import java.util.List;

/**
 *
 * @author aocampo
 */
public class CruceInformacionHelper extends BaseHelper {
    
    /** Creates a new instance of CruceInformacionHelper */
    public CruceInformacionHelper() {
    }
    
    public List getEnviosByParametroBusqueda(ParametroBusquedaDto dto) throws CruceInformacionException {
        BaseCruceInformacionDAO dao = (BaseCruceInformacionDAO) this.getFactoryDAO().getCruceInformacionDAO();
        try {
            return dao.getEnviosByParametroBusqueda(dto);
        }
        catch (DAOException e) {
            throw new CruceInformacionException("CruceInformacionHelper:getEnviosByParametroBusqueda:" + e.toString());
        }
    }
    
    public void createNewFileEnvios(List listEnvios, String ldapUser) throws CruceInformacionException {
        String fileName = ConstantesGenerales.RANDOM_STRING_UTILS.randomAlphanumeric(20) + ConstantesGenerales.FILE_EXTENSION;
        Thread thread = new Thread(new FileThread(FileThread.FILE_ENVIOS, fileName, listEnvios));
        thread.start();
        BaseCruceInformacionDAO dao = (BaseCruceInformacionDAO) this.getFactoryDAO().getCruceInformacionDAO();
        try {
            dao.insertMensajeAlerta(fileName, ldapUser, listEnvios.size());
        }
        catch (DAOException e) {
            throw new CruceInformacionException("CruceInformacionHelper:createNewFileEnvios:" + e.toString());
        }
    }
    
    public void createNewFileRad(List listEnvios, String ldapUser) throws CruceInformacionException {
        String fileName = ConstantesGenerales.RANDOM_STRING_UTILS.randomAlphanumeric(20) + ConstantesGenerales.FILE_EXTENSION;
        Thread thread = new Thread(new FileThread(FileThread.FILE_RAD, fileName, listEnvios));
        thread.start();
        BaseCruceInformacionDAO dao = (BaseCruceInformacionDAO) this.getFactoryDAO().getCruceInformacionDAO();
        try {
            dao.insertMensajeAlerta(fileName, ldapUser, listEnvios.size());
        }
        catch (DAOException e) {
            throw new CruceInformacionException("CruceInformacionHelper:createNewFileRad:" + e.toString());
        }
    }
}